# -*- coding: utf-8 -*-

from vialink.django.gridcrud import *

from usuarios.models import Usuario 
from usuarios.forms import UsuarioForm

class UsuarioGridCrud(GridCrud):
    codigo = FieldFormatter(field='id')
    nome = FieldFormatter()
    usuario = FieldFormatter()
    ativo = FieldFormatter()
    grupo = FieldFormatter()
    superusuario = FieldFormatter()
    user_responsavel = FieldFormatter()

    class Meta:
        model = Usuario
        form = UsuarioForm
        template = 'usuarios/partial/usuario_form.html'

    
    def save(self, request, form, editing, **kwargs):
        """ Redefinindo para que salve o usuario logado qdo cadastrar o objeto.
        """
        obj = form.save(commit=False)
        if not editing:
            obj.user_responsavel = request.user
        
        obj.save()
        return obj
